This invention relates to improvements for extending communication on a digital electronic bus, and more particularly to methods and systems for enhancing extended distance communication on a SCSI bus. SCSI refers to Small Computer Systems Interface.
The SCSI bus is one where the SCSI adapter devices for computers as well as the SCSI controller devices for peripherals are simple and economical, highly standardized, and frequently built into the computers and peripherals designed for the bus. Arbitration among the SCSI devices on the bus is required for communication control of it. Each device on the bus has a priority, and the device of highest priority contending for communication control of the bus must win the arbitration. Arbitration is conducted within a predetermined time window common to all devices, but each SCSI device on the bus acts independently in detecting the start (and end) of the time window. Signal propagation delay on the bus can vary the time different devices detect that the bus is free for the taking. If the length of the bus is too great, signal propagation delay can cause a low priority device to think it has won an arbitration because it never received or recognized a signal from a higher priority device within what it thought was the time window, or the propagation delay can cause two or more devices to believe they all have won. In either event, the operation of the bus is impaired. Each device on the bus makes its own determination as to whether or not it has prevailed in an arbitration, and will yield only to a device of higher priority. Yielding occurs when the device of higher priority asserts, at the closing step of arbitration, a select or reselect or equivalent. Then follows the address communication step between two devices on the bus, and the address assigned to each device may be the same as its priority identifier. The winner of the arbitration is the source device (e.g., initiator), and it addresses a destination device (e.g., target). The response from the destination device back to the source must be received within a predetermined time interval in order for the source to know that it has made successful contact with its destination device (but this time interval for response is quite long, and has not, relatively speaking, been the major obstacle to SCSI bus extension). Thereafter, once the SCSI protocol passes the addressing time constraints, communication between the SCSI devices (e.g., data transfer) is relatively not time constrained and may be accomplished asynchronously (e.g., comparable to an interlock communication) or synchronously (comparable to streaming communication).
Simply put, the timing for SCSI arbitration and the less severe timing for addressing are administered by each device independently of the others, are generally preset in the devices at the time of manufacture, and are not normally adjusted or suspended by elements external to the devices at any later time. This is in contrast to FASTBUS (ANSI/IEEE Std 960-1989) where arbitration time intervals are administered by a separate arbitration timing controller on each segment, and the time intervals can be adjusted according to need. Address timing in FASTBUS can be suspended by a segment interconnecting device that issues a "wait" signal on its segment when it detects from its table that extended communication is needed to a different segment in order to complete the communication. Different segments of FASTBUS may be in full operation simultaneously, and multiple arbitrations may be necessary as communication is extended to different segments. The sophisticated features of FASTBUS are far beyond the simplicity of the SCSI bus.
The simplicity of the architecture of the SCSI bus gives it great advantages--and one great disadvantage, namely severe limitation of its bus length. Extending that length to any significant distance has been a hitherto unsolved problem. The problem is caused by device independence in administering the time constraints for conducting arbitration and, to a much lesser extent, the time constraints for the addressing phase, i.e., the initial response to the initial communication between devices (that is, selection and reselection). It is the arbitration time constraints that historically have led to reliable SCSI bus lengths not exceeding about 25 meters. But as small computers have become more and more sophisticated and capable of handling tremendous amounts of data--even sometimes replacing mainframes and minicomputers--a pressing need has arisen to increase the capability of the SCSI bus by extending its distance (to data devices and other peripherals) to an extent significantly beyond that for which it was originally designed.
This has led to bus configurations employing serial links (fiberoptic and otherwise) to stretch the bus as much as 300 meters (e.g., 1,000 feet). Some have claimed that the SCSI bus can be extended by fiberoptic cable to almost 1,000 meters (e.g., 3,000 feet). However, no one, insofar as is known, has ever claimed that SCSI bus extension has left arbitration free of adverse consequences, especially when the extension exceeds about 300 meters.
This invention is directed to a solution to the aforenoted vexing problem. For the first time insofar as is known, the extension of a SCSI bus can be accomplished without causing adverse consequences to arbitration (and also without adverse consequences to addressing as in selection and reselection), despite extension of the bus well beyond 300 meters and even well beyond 1,000 meters into distances measured by kilometers and miles. The invention easily permits extensions exceeding the distances traversed within the time constraints for SCSI arbitration, and even exceeding the distances traversable by a SCSI address response within the SCSI time constraints for the response. Thus extension distances exceeding 10 or 20 kilometers (e.g., over 10 miles) are made possible by the invention. Further, even longer extensions, over thousands of kilometers or miles, as for example over telephone lines, are made possible by using principles of the invention.
The teachings of this invention--also for the first time, insofar as is known--make principles of channel extension useful for the transfer of data and control signals on a SCSI bus. Such principles are set forth in Milligan, U.S. Pat. No. 4,642,529 (Re 33,404), Calta et al., U.S. Pat. No. 4,866,609, and Waldron et al., U.S. Pat. No. 5,077,656, all here incorporated by reference. Such principles have heretofore been useless on SCSI simply because they cannot accommodate the SCSI device timing constraints for arbitration. When used in combination with teachings of this invention, however, such principles become useful for the first time for handling data transfer and other information phase transfers on a SCSI bus, as well as for addressing and response improvements for the SCSI bus.